We have reprogrammed the Estop button in Kmotion-CNC to work slightly differently than standard (e.g. we don't want to kill certain threads). Unfortunately, it cannot be used during certain long-running activities that are invoked from user buttons, such as homing the machine. This is because the GUI thread is looping waiting for the user button program to complete, and thus the GUI loop doesn't get to process button events. I don't think this is specific to our mods.
If the Estop button does not always work, then we consider it better not to have it at all, however we would like to have it since a lot of our Mach3 customers, that we are migrating, are used to it. (My own opinion is that Estop should always be a hardware button and people should just get used to it, but I'm not world dictator so we have to live with it.)
So the question is what would be the best approach to modifying K-CNC so that the Estop button does not mutex with user buttons?